home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
F-French
/
(c)f1.d64
/
questionnaire
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
5KB
|
190 lines
1 REM BUILD A QUIZ
100 DI=8:TA=1:REM ** DEVICE NUMBERS **
110 VC=53248:POKEVC+32,0:POKEVC+33,11:PRINTCHR$(147)
120 Z$=CHR$(13):DP=0:PS=0
130 DIM NT%(30)
140 MC=54272:FORX=MCTO54296:POKEX,0:NEXTX
150 FORX=0TO30:READZ:NT%(X)=Z:NEXTX
160 M=((PEEK(53272)AND240)/16)*1024
170 C=55296
200 PRINT"[153] FABRICATION D'UN QUESTIONNAIRE [146]"
210 PRINT" L'OPTION 1 DE CE PROGRAMME EST DE"
215 PRINT" MONTER UN QUESTIONNAIRE ET LE"
217 PRINT" GARDER SUR CASSETTE OU DISQUETTE."
220 PRINT" L'OPTION 2 PERMET DE RAPPELER UN"
223 PRINT" QUESTIONNAIRE EXISTANT ET DE T'EN "
225 PRINT" FAIRE PASSER L'EXAMEN."
227 GOSUB9000
230 PRINT" ENTRER L'OPTION:"
240 PRINT" 1[146] FABRIQUER UN QUESTIONNAIRE":PRINT" 2[146] PASSER L'EXAMEN"
245 PRINT" 3[146] TERMINER LE PROGRAMME."
250 GETX$:IFX$=""THEN250
260 X=VAL(X$):ONXGOTO300,700,280
270 GOTO250
280 PS=0:GOSUB9000:PRINTCHR$(147)
290 END
300 NQ=0:GOSUB9200:GOSUB7500:PRINTCHR$(147)
310 OPEN9,DV,1,QN$:PRINTCHR$(147):PRINT#9,X$;Z$;
320 NQ=NQ+1:PRINT"[147] INDIQUER TYPE DE QUESTION:"
330 PRINT" 1[146] VRAI OU FAUX":PRINT" 2[146] CHOIX MULTIPLES"
335 PRINT" 3[146] COMPLETER LA PHRASE"
340 PRINT" 4[146] FIN DE L'EXAMEN."
350 GETX$:IFX$=""THEN350
360 IF X$="4"THENT$=X$:GOTO550
365 IF X$<"1"ORX$>"3"THEN350
370 PRINT"[147] QUESTION #";NQ;
380 X=VAL(X$):T$=X$:ONXGOTO400,450,500
390 GOTO350
400 PRINT"(VRAI OU FAUX)":O=240:L=80:GOSUB8000:A$=X$
410 PRINT" INDIQUER LA BONNE REPONSE V[146] OU F[146]"
420 GETX$:IFX$=""THEN420
430 IF X$<>"V"AND X$<>"F"THEN420
435 PRINTCHR$(147)
440 PRINT#9,T$;Z$;A$;Z$;X$;Z$;:GOTO320
450 PRINT"(CHOIX MULTIPLE)":O=240:L=80:GOSUB8000
455 Q$=X$:PRINT" A.":O=404:L=76:GOSUB8000
460 A$=X$:PRINT" B.":O=524:GOSUB8000:B$=X$
465 PRINT" C.":O=644:GOSUB8000:C$=X$
470 PRINT" D.":O=764:GOSUB8000:D$=X$
480 PRINT" INDIQUER LA BONNE REPONSE (A[146], B[146], C[146] OU D[146]"
485 GETX$:IFX$=""THEN485
490 IFX$<"A"ORX$>"D"THEN485
495 PRINTCHR$(147)
497 PRINT#9,T$;Z$;Q$;Z$;A$;Z$;B$;Z$;C$;Z$;D$;Z$;X$;Z$;
499 GOTO320
500 PRINT"(COMPLETER LA PHRASE)":O=240:L=80:GOSUB8000:Q$=X$
505 PRINT" ENTRER LA BONNE REPONSE:"
510 O=600:L=80:GOSUB8000
520 PRINTCHR$(147)
530 PRINT#9,T$;Z$;Q$;Z$;X$;Z$;
540 GOTO320
550 PRINTCHR$(147)
560 PRINT#9,T$;Z$;
570 CLOSE9
580 GOTO200
700 GOSUB9200:GOSUB7500:PRINTCHR$(147)
730 OPEN9,DV,0,QN$:GOSUB6000
740 IFLEN(X$)>39THEN760
750 A$=" "+X$:X$=A$+" ":GOTO740
760 PRINT"[147]":FORX=1TO11:PRINTX$;:PRINT" ":NEXTX:GOSUB7000:FORX=1TO1500:NEXTX
770 PRINTCHR$(147):NQ=0:CQ=0
800 INPUT#9,X$
810 IF X$="4"THEN2000
820 IF X$<"1"ORX$>"3"THEN800
830 NQ=NQ+1:X=VAL(X$)
850 ONXGOTO900,1000,1100
860 GOTO800
900 GOSUB6000:Q$=X$:GOSUB6000:R$=X$
902 PRINT"[147] QUESTION #";NQ
904 PRINT"";Q$
910 PRINT" ENTRER V[146] POUR VRAI"
920 PRINT" ENTRER F[146] POUR FAUX"
940 GETA$:IFA$=""THEN940
950 IFA$<>"V"ANDA$<>"F"THEN940
960 IFA$<>R$THEN1200
970 GOTO1300
1000 GOSUB6000:Q$=X$:GOSUB6000:A$=X$:GOSUB6000:B$=X$:GOSUB6000:C$=X$
1002 GOSUB6000:D$=X$:GOSUB6000:R$=X$
1006 PRINT"[147] QUESTION #";NQ
1008 PRINT"";Q$:PRINT" A. ";A$:X$=A$:GOSUB6700
1010 PRINT " B. ";B$:X$=B$:GOSUB6700:PRINT" C. ";C$:X$=C$:GOSUB6700
1020 PRINT" D. ";D$:X$=D$:GOSUB6700
1030 PRINT" ENTRER A[146],B[146],C[146] OU D[146]"
1040 GETA$:IFA$=""THEN1040
1050 IF A$<"A"OR A$>"D"THEN1040
1060 IFA$<>R$THEN1200
1070 GOTO1300
1100 GOSUB6000:Q$=X$:GOSUB6000:R$=X$
1102 PRINT"[147] QUESTION #";NQ
1110 PRINT"";Q$
1120 O=480:L=80:GOSUB8000
1130 IF X$<>R$THEN1200
1140 GOTO1300
1200 GOSUB7200
1205 PRINT"[147] LA BONNE REPONSE EST:"
1207 PRINT" ";R$
1210 FOR X=1TO1500:NEXTX:PRINTCHR$(147):GOTO800
1300 CQ=CQ+1:GOSUB7000
1310 PRINTCHR$(147)
1320 GOTO800
2000 PRINT" QUESTIONNAIRE[146] TERMINE[146]"
2010 PRINT" NOMBRE DE QUESTIONS =";NQ
2020 PRINT" NOMBRE DE BONNE REPONSE =";CQ
2030 IF NQ=0THENNQ=1
2040 X=INT((CQ*100)/NQ)
2050 PRINT" VOTRE RESULTAT EST DE ="X;"[157]%"
2060 PRINT" (PRESSER UNE TOUCHE)"
2070 GETX$:IF X$=""THEN2070
2080 PRINTCHR$(147)
2090 CLOSE9
2100 GOTO200
6000 X$=""
6010 GET#9,R$
6020 IF R$=""THEN6010
6030 IF ASC(R$)=13THEN6060
6040 X$=X$+R$
6050 GOTO6010
6060 RETURN
6700 X=LEN(X$):IFX=36ORX=76THEN6720
6710 PRINT"[160]"
6720 RETURN
7000 POKEMC+0,0:POKEMC+1,0:POKEMC+5,15:POKEMC+6,15:POKEMC+24,10
7010 FORX=2TO11
7020 POKEVC+33,X:POKEMC+1,X*5:POKEMC+4,33
7030 FORY=1TO50:NEXTY
7040 POKEMC+4,32:FORY=1TO10:NEXTY,X
7050 POKEMC+24,0
7060 RETURN
7200 POKEMC+0,0:POKEMC+1,30:POKEMC+4,33:POKEMC+5,15:POKEMC+6,15
7210 POKEVC+33,0:POKEMC+24,10
7220 FORX=1TO500:NEXTX
7230 POKEMC+4,32:FORX=1TO20:NEXTX
7240 POKEMC+24,0:POKEVC+33,11
7250 RETURN
7500 PRINT"[147] ENTRER LE NOM DU QUESTIONNAIRE"
7505 PRINT" (DE 1 A 37 LETTRES)"
7510 O=648:L=38:GOSUB8000:IFLEN(X$)>37 THEN7500
7520 QN$=X$:IFLEN(X$)>11THENQN$=LEFT$(X$,11)
7530 QN$="QUIZ/"+QN$
7540 PRINT" PREPARE LA ";DV$
7545 PRINT" LORSQUE PRETE PESE SUR RETURN[146]"
7550 GETE$:IFE$=""THEN7550
7560 IF ASC(E$)<>13THEN7550
7570 RETURN
8000 X$="":POKEM+O,160:POKEC+O,1
8010 GETY$:IFY$=""THEN8010
8020 X=ASC(Y$):IFX=13THEN8150
8030 IFX=20THEN8100
8040 Y=LEN(X$):X$=X$+Y$:IFX>63THENX=X-64
8050 POKEM+O+Y,X:POKEC+O+Y,1:POKEM+O+Y+1,160:POKEC+O+Y+1,1:IFLEN(X$)<LTHEN8010
8060 GOTO8150
8100 Y=LEN(X$):IFY<1THEN8010
8110 POKEM+O+Y,32:POKEC+O+Y,11:POKEM+O+Y-1,160:POKEC+O+Y-1,1
8120 Y$=LEFT$(X$,Y-1):X$=Y$:GOTO8010
8150 Y=LEN(X$):POKEM+O+Y,32:POKEC+O+Y,11
8160 RETURN
9000 IF PS=1THEN9080
9005 POKEMC+0,0:POKEMC+1,0:POKEMC+5,79:POKEMC+6,129:POKEMC+24,15
9010 FORX=0TO30
9020 Y=INT(NT%(X)/256)
9030 POKEMC+0,NT%(X)-(Y*256)
9040 POKEMC+1,Y:POKEMC+4,17
9050 FORY=1TO70:NEXTY
9060 POKEMC+4,16:FORY=1TO10:NEXTY,X
9070 POKEMC+24,0:PS=1
9080 RETURN
9200 IF DP=1THEN9280
9205 PRINT"[147] VA TU UTILISER LA CASSETTE OU LA"
9210 PRINT" DISQUETTE POUR GARDER OU CHARGER"
9215 PRINT" LE QUESTIONNAIRE?"
9220 PRINT" ENTRER C[146] OU D[146]"
9230 GETX$:IFX$=""THEN9230
9240 IFX$="D"THENDV=DI:DV$="DISQUETTE":GOTO9270
9250 IFX$="C"THENDV=TA:DV$="CASSETTE":GOTO9270
9260 GOTO9230
9270 DP=1
9280 RETURN
9900 DATA6430,6430,6430,4817,8101,8101,8101,6430,6430,8101,9634,9634
9910 DATA8583,8101,7217,0,7217,8101,8583,8583,8101,7217
9920 DATA8101,6430,6430,8101,7217,4817,6069,7217,6430